-
Notifications
You must be signed in to change notification settings - Fork 45
[inventory] record caboose SIGN value #8021
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice -- that was fast! I have a question below about the database query.
The bigger thing is: do we want to have separate types (and maybe database constraints) where the sign
field is not nullable? I mean: if we expect all RoT and RoT bootloader cabooses to have SIGN
field but the others don't (is that right?), should we have separate types to reflect this so that when looking at an RoT/RoT bootloader caboose you don't have to check for this? What do you think @jgallagher?
.and(dsl_sw_caboose::sign.eq( | ||
found_caboose.caboose.sign.clone(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work regardless of whether found_caboose
or the given row's caboose is NULL? I thought sometimes you needed to use IS NOT NULL
and/or IS NULL
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are absolutely right. I read up on the documentation and it looks like need to change this.
comparisons with NULL using = or <> will result in NULL, not true or false. Use IS NULL or IS NOT NULL for such checks.
Sadly, because of diesel, the modified code ends up being really janky. I kept getting mistmatched arms/values so I ended up with this:
let selection_inner_join_on = dsl_baseboard_id::part_number
.eq(baseboard_id.part_number.clone())
.and(
dsl_baseboard_id::serial_number.eq(
baseboard_id.serial_number.clone(),
),
)
.and(dsl_sw_caboose::board.eq(
found_caboose.caboose.board.clone(),
))
.and(
dsl_sw_caboose::git_commit.eq(
found_caboose
.caboose
.git_commit
.clone(),
),
)
.and(
dsl_sw_caboose::name.eq(found_caboose
.caboose
.name
.clone()),
)
.and(dsl_sw_caboose::version.eq(
found_caboose.caboose.version.clone(),
)
);
let select_by = (
dsl_baseboard_id::id,
dsl_sw_caboose::id,
db_collection_id
.into_sql::<diesel::sql_types::Uuid>(),
found_caboose
.time_collected
.into_sql::<diesel::sql_types::Timestamptz>(),
found_caboose
.source
.clone()
.into_sql::<diesel::sql_types::Text>(),
db_which.into_sql::<CabooseWhichEnum>(),
);
let columns = (
dsl_inv_caboose::hw_baseboard_id,
dsl_inv_caboose::sw_caboose_id,
dsl_inv_caboose::inv_collection_id,
dsl_inv_caboose::time_collected,
dsl_inv_caboose::source,
dsl_inv_caboose::which,
);
match found_caboose.caboose.sign.clone() {
None => {
let selection = nexus_db_schema::schema::hw_baseboard_id::table.inner_join(
nexus_db_schema::schema::sw_caboose::table.on(
selection_inner_join_on
.and(dsl_sw_caboose::sign.is_null())
),
)
.select(select_by);
let _ = diesel::insert_into(nexus_db_schema::schema::inv_caboose::table)
.values(selection)
.into_columns(columns)
.execute_async(&conn)
.await?;
},
Some(_) => {
let selection = nexus_db_schema::schema::hw_baseboard_id::table.inner_join(
nexus_db_schema::schema::sw_caboose::table.on(
selection_inner_join_on
.and(dsl_sw_caboose::sign.is_not_null())
),
)
.select(select_by);
let _ = diesel::insert_into(nexus_db_schema::schema::inv_caboose::table)
.values(selection)
.into_columns(columns)
.execute_async(&conn)
.await?;
}
};
It's awful. Also, it would get even messier if another nullable field appears. Do you have any suggestions on how to clean this up?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use https://docs.rs/diesel/latest/diesel/expression_methods/trait.PgExpressionMethods.html#method.is_not_distinct_from instead of eq
? (Got there via diesel-rs/diesel#1306, and cockroach does seem to support it too.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ooohhh very nice, thanks!
It'd be neat to see the output of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success! Thanks for the review @davepacheco, I think the output is as expected?
root@oxz_switch1:~# omdb db inventory collections show latest sp
note: database URL not specified. Will search DNS.
note: (override with --db-url or OMDB_DB_URL)
note: using DNS server for subnet fd00:1122:3344::/48
note: (if this is not right, use --dns-server to specify an alternate DNS server)
note: using database URL postgresql://root@[fd00:1122:3344:102::3]:32221,[fd00:1122:3344:103::3]:32221,[fd00:1122:3344:104::4]:32221,[fd00:1122:3344:104::3]:32221,[fd00:1122:3344:101::3]:32221/omicron?sslmode=disable
note: database schema version matches expected (139.0.0)
collection: 6a3d8864-e56d-4f52-bc54-db5d4e88d00c
collector: d41629fe-37c6-4752-8698-3241f66c8399 (likely a Nexus instance)
started: 2025-04-23T03:33:40.613Z
done: 2025-04-23T03:33:52.322Z
errors: 0
Sled BRM42220036
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 14 (cubby 14)
found at: 2025-04-23 03:33:41.761459 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 2a6a4b0c6494ae51ce4216de5d03a600d0cface267a1c6f854155ac4e41036fc
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220062
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 15 (cubby 15)
found at: 2025-04-23 03:33:44.027992 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 1f511bd014845f30bff9b047afbaeef6734f9fda4315a1708b0b65821882c567
Sled BRM42220030
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 16 (cubby 16)
found at: 2025-04-23 03:33:40.631552 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 2a6a4b0c6494ae51ce4216de5d03a600d0cface267a1c6f854155ac4e41036fc
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM44220007
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 17 (cubby 17)
found at: 2025-04-23 03:33:42.893452 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 2a6a4b0c6494ae51ce4216de5d03a600d0cface267a1c6f854155ac4e41036fc
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-04-23 03:33:45.163019 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABEAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 42ccae12461701473cb2750e3b85bcfb3afaf8e881cfda711f625b33fb9eb932
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-04-23 03:33:47.631639 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-04-23 03:33:46.288474 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: 09259c3a0255eb861b1119c3e61dd088416a41f7a6674c28364ef36e67cb70b7
.and(dsl_sw_caboose::sign.eq( | ||
found_caboose.caboose.sign.clone(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are absolutely right. I read up on the documentation and it looks like need to change this.
comparisons with NULL using = or <> will result in NULL, not true or false. Use IS NULL or IS NOT NULL for such checks.
Sadly, because of diesel, the modified code ends up being really janky. I kept getting mistmatched arms/values so I ended up with this:
let selection_inner_join_on = dsl_baseboard_id::part_number
.eq(baseboard_id.part_number.clone())
.and(
dsl_baseboard_id::serial_number.eq(
baseboard_id.serial_number.clone(),
),
)
.and(dsl_sw_caboose::board.eq(
found_caboose.caboose.board.clone(),
))
.and(
dsl_sw_caboose::git_commit.eq(
found_caboose
.caboose
.git_commit
.clone(),
),
)
.and(
dsl_sw_caboose::name.eq(found_caboose
.caboose
.name
.clone()),
)
.and(dsl_sw_caboose::version.eq(
found_caboose.caboose.version.clone(),
)
);
let select_by = (
dsl_baseboard_id::id,
dsl_sw_caboose::id,
db_collection_id
.into_sql::<diesel::sql_types::Uuid>(),
found_caboose
.time_collected
.into_sql::<diesel::sql_types::Timestamptz>(),
found_caboose
.source
.clone()
.into_sql::<diesel::sql_types::Text>(),
db_which.into_sql::<CabooseWhichEnum>(),
);
let columns = (
dsl_inv_caboose::hw_baseboard_id,
dsl_inv_caboose::sw_caboose_id,
dsl_inv_caboose::inv_collection_id,
dsl_inv_caboose::time_collected,
dsl_inv_caboose::source,
dsl_inv_caboose::which,
);
match found_caboose.caboose.sign.clone() {
None => {
let selection = nexus_db_schema::schema::hw_baseboard_id::table.inner_join(
nexus_db_schema::schema::sw_caboose::table.on(
selection_inner_join_on
.and(dsl_sw_caboose::sign.is_null())
),
)
.select(select_by);
let _ = diesel::insert_into(nexus_db_schema::schema::inv_caboose::table)
.values(selection)
.into_columns(columns)
.execute_async(&conn)
.await?;
},
Some(_) => {
let selection = nexus_db_schema::schema::hw_baseboard_id::table.inner_join(
nexus_db_schema::schema::sw_caboose::table.on(
selection_inner_join_on
.and(dsl_sw_caboose::sign.is_not_null())
),
)
.select(select_by);
let _ = diesel::insert_into(nexus_db_schema::schema::inv_caboose::table)
.values(selection)
.into_columns(columns)
.execute_async(&conn)
.await?;
}
};
It's awful. Also, it would get even messier if another nullable field appears. Do you have any suggestions on how to clean this up?
@karencfv it seems like the SP caboose information is missing from that output. Did that get broken somehow? |
@davepacheco, ha yes! Looks like the SPs did not have a sign value, and that's why they disappeared. I ran the latest code with @jgallagher's suggestion, and that issue was resolved. The SP caboose information shows up everywhere now. I'm slightly concerned with root@oxz_switch1:~# omdb db inventory collections show latest sp
note: database URL not specified. Will search DNS.
note: (override with --db-url or OMDB_DB_URL)
note: using DNS server for subnet fd00:1122:3344::/48
note: (if this is not right, use --dns-server to specify an alternate DNS server)
note: using database URL postgresql://root@[fd00:1122:3344:104::4]:32221,[fd00:1122:3344:102::3]:32221,[fd00:1122:3344:104::3]:32221,[fd00:1122:3344:101::3]:32221,[fd00:1122:3344:103::3]:32221/omicron?sslmode=disable
note: database schema version matches expected (139.0.0)
collection: 4bf0ca98-d7c7-4fc1-9ee7-68251ee900db
collector: 656a766d-0c46-41cc-9f30-7bddf4713a63 (likely a Nexus instance)
started: 2025-04-24T02:45:03.140Z
done: 2025-04-24T02:45:14.984Z
errors: 0
Sled BRM42220036
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 14 (cubby 14)
found at: 2025-04-24 02:45:04.462185 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.34 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 2a6a4b0c6494ae51ce4216de5d03a600d0cface267a1c6f854155ac4e41036fc
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220062
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 15 (cubby 15)
found at: 2025-04-24 02:45:06.719661 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.34 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 1f511bd014845f30bff9b047afbaeef6734f9fda4315a1708b0b65821882c567
Sled BRM42220030
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 16 (cubby 16)
found at: 2025-04-24 02:45:03.208444 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.34 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 2a6a4b0c6494ae51ce4216de5d03a600d0cface267a1c6f854155ac4e41036fc
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM44220007
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 17 (cubby 17)
found at: 2025-04-24 02:45:05.589204 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.32 fad1769684b1ca6e71398db03b685b2bd4d4dce8 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 2a6a4b0c6494ae51ce4216de5d03a600d0cface267a1c6f854155ac4e41036fc
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-04-24 02:45:07.953357 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
SpSlot1 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABEAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 42ccae12461701473cb2750e3b85bcfb3afaf8e881cfda711f625b33fb9eb932
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-04-24 02:45:11.429204 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-c sidecar-c 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-04-24 02:45:10.201652 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
SpSlot1 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: 09259c3a0255eb861b1119c3e61dd088416a41f7a6674c28364ef36e67cb70b7
|
nexus/types/src/inventory.rs
Outdated
// It is very unlikely that the sign hash will not be present. | ||
// As far as we know, it will only be locally built BART signed images. | ||
// We will be handling those edge cases by setting this field as an option. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't quite right. As far as I've seen, standard SP images do not provide a value here. This is probably the most specific thing I can say:
The
sign
will generally be present for production RoT and RoT bootloader images. It's currently absent from SP images and could be absent from RoT images as well.
but somebody else might know better.
Alright, so I checked London again. Someone else had used it and left their environment running so I just ran <...>
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-04-27 21:45:47.989994 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT
SpSlot0 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0
SpSlot1 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6
RotSlotB oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABEAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 42ccae12461701473cb2750e3b85bcfb3afaf8e881cfda711f625b33fb9eb932
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-04-27 21:45:50.811270 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT
SpSlot0 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc
SpSlot1 sidecar-c sidecar-c 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-04-27 21:45:49.540447 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT
SpSlot0 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0
SpSlot1 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6
RotSlotB oxide-rot-1 oxide-rot-1 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: 09259c3a0255eb861b1119c3e61dd088416a41f7a6674c28364ef36e67cb70b7 |
Hm, I'm a bit at a loss as to what to do next, I saw the conversation on the update channel (It was a public holiday in NZ that day). so I'll continue there when it's everyone's Monday! |
Alright, so I checked the nexus logs when running <...>
04:15:49.643Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/sp/caboose?firmware_slot=0
04:15:49.907Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "715c76ed-5d1d-4e6e-baca-fb27150f00c6", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:49 GMT"} })
04:15:49.907Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/sp/caboose?firmware_slot=1
04:15:50.187Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "aae68602-8106-4241-b411-7ba056e45bf3", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:49 GMT"} })
04:15:50.187Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/caboose?firmware_slot=0
04:15:50.474Z INFO 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): ensured all Crucible datasets present in inventory have database records
background_task = blueprint_rendezvous
file = nexus/reconfigurator/rendezvous/src/crucible_dataset.rs:113
num_already_exist = 38
num_inserted = 0
num_not_in_inventory = 0
04:15:50.474Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): activation complete
background_task = blueprint_rendezvous
elapsed = 1.531141764s
iteration = 5
status = {"blueprint_id":"dbc0988d-d570-4d7f-a483-4035474a3b49","inventory_collection_id":"dcf36bb0-6214-4eb7-b056-136dafaa678b","stats":{"crucible_dataset":{"num_already_exist":38,"num_inserted":0,"num_not_in_inventory":0},"debug_dataset":{"num_already_exist":38,"num_already_tombstoned":0,"num_inserted":0,"num_not_in_inventory":0,"num_tombstoned":0}}}
04:15:50.642Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "a0f90604-8e92-4702-b198-5246f577fc42", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:50 GMT"} })
04:15:50.642Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/caboose?firmware_slot=1
04:15:51.040Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "6d9cf42c-c77c-401a-b7a0-de5e2b60f362", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:50 GMT"} })
04:15:51.040Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/stage0/caboose?firmware_slot=0
04:15:51.558Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "016d38e6-b847-445c-bf7d-aee993b1fa7c", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:51.558Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/stage0/caboose?firmware_slot=1
04:15:52.077Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "ee9be848-cb05-45af-9f3c-da95046c89fd", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.077Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cmpa
04:15:52.140Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cmpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "740da58f-b4d7-4933-b528-975a7ad1fa72", "content-length": "702", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.140Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cfpa
04:15:52.216Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "94305b95-32fd-4837-abca-51ef2c3c5301", "content-length": "727", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.216Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cfpa
04:15:52.271Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "967f14e3-b262-4767-b1d1-3389ef0471de", "content-length": "729", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.271Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cfpa
04:15:52.323Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "7aedfad2-c5d9-4ac6-8595-b0c064780260", "content-length": "728", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.323Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14
04:15:52.336Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14", status: 200, headers: {"content-type": "application/json", "x-request-id": "b8b6e1fe-cf16-4b9c-8ef6-9d855b504eef", "content-length": "733", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.336Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/sp/caboose?firmware_slot=0
04:15:52.338Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "378e671c-c681-4820-a953-cb2188132f63", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.338Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/sp/caboose?firmware_slot=1
04:15:52.340Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "869c0a4b-25a6-4764-afa5-7c002aa569f9", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:51 GMT"} })
04:15:52.340Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/caboose?firmware_slot=0
04:15:52.612Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "2b9433bb-903f-43c1-b551-2c019262a32f", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:52 GMT"} })
04:15:52.612Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/caboose?firmware_slot=1
04:15:52.886Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "2ec5fa9d-053d-4bf7-9244-47c469f06817", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:52 GMT"} })
04:15:52.886Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/stage0/caboose?firmware_slot=0
04:15:53.150Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "bf1de89e-de46-4036-a647-103057674c01", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:52 GMT"} })
04:15:53.150Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/stage0/caboose?firmware_slot=1
04:15:53.571Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "abc143f0-4bdf-4f72-bb37-52d9ceb4481a", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.571Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cmpa
04:15:53.649Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cmpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "efada1ec-38b7-4c31-87a4-9f7a35473dc8", "content-length": "702", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.649Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cfpa
04:15:53.704Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "08a3a421-d6a2-45c4-b54d-d970965d89cf", "content-length": "727", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.704Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cfpa
04:15:53.756Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "b90bd11d-45ac-4259-a352-7d9cbc194c8e", "content-length": "729", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.756Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cfpa
04:15:53.805Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "9ec1da05-84fc-4caf-945d-a0a8759c6b38", "content-length": "728", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.805Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17
04:15:53.818Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17", status: 200, headers: {"content-type": "application/json", "x-request-id": "f820f157-3963-4994-ad94-7bf545b6feb2", "content-length": "735", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.818Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/sp/caboose?firmware_slot=0
04:15:53.821Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "570a7d0c-8922-4ec3-869b-d62bb6254862", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.821Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/sp/caboose?firmware_slot=1
04:15:53.824Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "36ff4361-c3d4-4a49-b90d-1d34f317ed99", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:53.824Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/caboose?firmware_slot=0
04:15:54.083Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "1cb14a74-3897-44f0-b31e-acb65ccbb864", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:54.083Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/caboose?firmware_slot=1
04:15:54.341Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "b4af57d8-f117-407c-a29c-a8d29c1a32e1", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:53 GMT"} })
04:15:54.341Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/stage0/caboose?firmware_slot=0
04:15:54.635Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "0b3d0ff8-faae-4fb1-980d-6ba26249ba3e", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.635Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/stage0/caboose?firmware_slot=1
04:15:54.907Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "b16f9c9d-7804-49c1-88e9-d84c861dc408", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.907Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cmpa
04:15:54.923Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cmpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "d31787ad-0972-4482-ad0d-664c048063a3", "content-length": "702", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.923Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cfpa
04:15:54.943Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "8af73a2b-93f9-4298-bc8b-d500e0d3731a", "content-length": "727", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.943Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cfpa
04:15:54.959Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "02a65290-6fdf-474c-ad2c-d4469701c01f", "content-length": "729", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.959Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cfpa
04:15:54.975Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "84370a9e-99e8-4ae1-b1b8-e6f706336ec2", "content-length": "728", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.975Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15
04:15:54.988Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15", status: 200, headers: {"content-type": "application/json", "x-request-id": "1667cd02-4949-4327-89c3-0216f6971f06", "content-length": "733", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.988Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/sp/caboose?firmware_slot=0
04:15:54.991Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "f49e619f-a83b-4583-ab0e-88f590f1b593", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.991Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/sp/caboose?firmware_slot=1
04:15:54.994Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "5ac5e688-c71f-40a9-a29d-d5744dc72690", "content-length": "138", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:54.994Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/caboose?firmware_slot=0
04:15:55.253Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "593cf4a6-cfad-4b77-b2a5-b8fcc42702c0", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:55.253Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/caboose?firmware_slot=1
04:15:55.522Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "b1f3640f-237f-417d-93d6-9379aa8cab0a", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:54 GMT"} })
04:15:55.522Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/stage0/caboose?firmware_slot=0
04:15:55.784Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "da09b904-9df6-4721-974c-513ba54c59b0", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:55.784Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/stage0/caboose?firmware_slot=1
04:15:56.072Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "a5b35406-5364-4e3b-9134-8f7ff15e0984", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.072Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cmpa
04:15:56.099Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cmpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "c447cdee-ba85-45b8-8410-8410f1e1d550", "content-length": "702", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.099Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cfpa
04:15:56.131Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "4bcca67d-c8e3-4b4a-8ce6-0d59d7d51420", "content-length": "727", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.131Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cfpa
04:15:56.167Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "03cda677-284b-48a6-aa73-790673480cc5", "content-length": "729", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.167Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cfpa
04:15:56.198Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "1e2d8fe7-ea0f-465a-86bb-e2fd57844926", "content-length": "728", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.198Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0
04:15:56.276Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0", status: 200, headers: {"content-type": "application/json", "x-request-id": "3be98a16-ed92-4e87-bc04-2d9f54bda1be", "content-length": "733", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.276Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/sp/caboose?firmware_slot=0
04:15:56.314Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "0dd4e012-5a4d-42f2-bf11-b3af4f195496", "content-length": "132", "date": "Tue, 29 Apr 2025 04:15:55 GMT"} })
04:15:56.314Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/sp/caboose?firmware_slot=1
04:15:56.506Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "59c302ed-4589-48cb-ad48-4718d19d12bf", "content-length": "132", "date": "Tue, 29 Apr 2025 04:15:56 GMT"} })
04:15:56.506Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/caboose?firmware_slot=0
04:15:57.029Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "ab311045-9fc9-48ca-91db-58c0f7459eba", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:57 GMT"} })
04:15:57.029Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/caboose?firmware_slot=1
04:15:57.595Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "9ae42c86-deaa-4c57-924e-421089ae6c71", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:57 GMT"} })
04:15:57.595Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/stage0/caboose?firmware_slot=0
04:15:58.113Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "a06814a6-3eb6-4707-be8d-ef8f10466624", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:57 GMT"} })
04:15:58.113Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/stage0/caboose?firmware_slot=1
04:15:58.379Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "0c26ad2b-b4f5-46c1-9217-f077830f9ae0", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.379Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cmpa
04:15:58.395Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cmpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "3196c6aa-4564-4db0-bfad-711d436d1d65", "content-length": "702", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.395Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cfpa
04:15:58.410Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "eff71605-332f-48e2-abbb-ea9c7b1821af", "content-length": "727", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.410Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cfpa
04:15:58.429Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "b3d12ef2-7860-4204-b221-31a0ba8ce568", "content-length": "729", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.429Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cfpa
04:15:58.450Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "d7938693-677f-4a9e-8c17-d8bf5e490b65", "content-length": "728", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.450Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1
04:15:58.532Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1", status: 200, headers: {"content-type": "application/json", "x-request-id": "b2385411-ca8c-4b40-ae12-267776357191", "content-length": "733", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.532Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/sp/caboose?firmware_slot=0
04:15:58.545Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "69c3edad-6c48-4d93-aaaa-b9b96fb1a363", "content-length": "140", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.545Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/sp/caboose?firmware_slot=1
04:15:58.551Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "b43669c7-7226-41db-abb1-2f5c640c77fe", "content-length": "140", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.551Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/caboose?firmware_slot=0
04:15:58.913Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "e84ba272-80fd-407f-b466-000ed05caadf", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:58.913Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/caboose?firmware_slot=1
04:15:59.177Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "84779f10-d4ba-4c3b-9172-7fafbdb6511e", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:59.177Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/stage0/caboose?firmware_slot=0
04:15:59.445Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "59b0f6d7-f8e5-4f30-b96a-f97a90872b67", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:58 GMT"} })
04:15:59.445Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/stage0/caboose?firmware_slot=1
04:15:59.732Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "87407041-0565-4d70-a063-2c77cbeba1e0", "content-length": "205", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.732Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cmpa
04:15:59.752Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cmpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "538b941b-45f9-465f-90b9-4c20339ea34a", "content-length": "702", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.752Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cfpa
04:15:59.769Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "54450d12-ce40-48b4-b2a8-93ca5cd6232e", "content-length": "727", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.769Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cfpa
04:15:59.796Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "37d2302b-3594-4054-a9e4-7c46318afe9e", "content-length": "729", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.796Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = Some(Body)
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cfpa
04:15:59.829Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/cfpa", status: 200, headers: {"content-type": "application/json", "x-request-id": "c4dac85a-0814-4ca2-8686-9a2517a4e253", "content-length": "728", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.829Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0
04:15:59.842Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0", status: 200, headers: {"content-type": "application/json", "x-request-id": "2826cd86-d290-4387-9464-eebb775a7ee5", "content-length": "735", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.842Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/sp/caboose?firmware_slot=0
04:15:59.844Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/sp/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "fb716a63-88d5-44f9-aa00-a1769e9a1a39", "content-length": "140", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.844Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/sp/caboose?firmware_slot=1
04:15:59.847Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/sp/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "97ea66fb-4ca8-4c3a-8cb8-c017dfefe854", "content-length": "140", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:15:59.847Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/rot/caboose?firmware_slot=0
04:16:00.105Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/rot/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "e8a1a7dd-6b3a-406e-8fa1-5b7053059cdb", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:16:00.105Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/rot/caboose?firmware_slot=1
04:16:00.363Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/rot/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "e295963c-3585-493b-8326-89afa0703257", "content-length": "206", "date": "Tue, 29 Apr 2025 04:15:59 GMT"} })
04:16:00.363Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/stage0/caboose?firmware_slot=0
04:16:00.657Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/stage0/caboose?firmware_slot=0", status: 200, headers: {"content-type": "application/json", "x-request-id": "3170b46a-0375-449d-abce-8b9ed2018f1a", "content-length": "205", "date": "Tue, 29 Apr 2025 04:16:00 GMT"} })
04:16:00.657Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client request
background_task = inventory_collection
body = None
gateway_url = http://[fd00:1122:3344:101::2]:12225
method = GET
uri = http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/stage0/caboose?firmware_slot=1
04:16:00.920Z DEBG 4c9e3b5e-7634-43bd-92da-2fad4d67b3e1 (ServerContext): client response
background_task = inventory_collection
gateway_url = http://[fd00:1122:3344:101::2]:12225
result = Ok(Response { url: "http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/stage0/caboose?firmware_slot=1", status: 200, headers: {"content-type": "application/json", "x-request-id": "25fc8794-de05-4d1a-a3f2-4ee1034cd50d", "content-length": "205", "date": "Tue, 29 Apr 2025 04:16:00 GMT"} })
<...> I ran every single one of the caboose API calls manually and the results are as follows: Sled 16root@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/16/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
} Sled 14root@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/14/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
} Sled 17root@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/17/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
} Sled 15root@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/sled/15/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "gimlet-c",
"name": "gimlet-c",
"version": "1.0.36",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf",
"epoch": null
} Powerroot@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/power/0/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "psc-c",
"name": "psc-c",
"version": "1.0.35",
"sign": null,
"epoch": null
}
{
"git_commit": "441b09270d8715275d6b3c3b57d84dba539e34d0",
"board": "psc-c",
"name": "psc-c",
"version": "1.0.33",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7",
"epoch": null
} Switch 1root@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/1/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "sidecar-b",
"name": "sidecar-b",
"version": "1.0.37",
"sign": null,
"epoch": null
}
{
"git_commit": "441b09270d8715275d6b3c3b57d84dba539e34d0",
"board": "sidecar-b",
"name": "sidecar-b",
"version": "1.0.35",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
} Switch 0root@oxz_nexus_4c9e3b5e:~# curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/sp/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/sp/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/rot/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/rot/caboose?firmware_slot=1 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/stage0/caboose?firmware_slot=0 | jq
curl -s http://[fd00:1122:3344:101::2]:12225/sp/switch/0/component/stage0/caboose?firmware_slot=1 | jq
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "sidecar-c",
"name": "sidecar-c",
"version": "1.0.37",
"sign": null,
"epoch": null
}
{
"git_commit": "a31b6acf6900c04978302b5a1dcc017e9b35e1fc",
"board": "sidecar-c",
"name": "sidecar-c",
"version": "1.0.37",
"sign": null,
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
}
{
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
}
{
"git_commit": "95e79111096d7ec258d68a2c6840b6062efc7f54",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.3.3",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
} What's really strange now is that it seems that for The only pattern I'm seeing here is that all of the SIGN values that show up are Thoughts @davepacheco @jgallagher ? |
Were you able to determine if the database inventory tables look correct or are the values missing (or otherwise wrong) there? |
I hopped on london to look, and I think the database inventory tables do not look correct. I had suggested this in chat because I was suspicious of the insertions:
But starting from the
Taking one of the cabooses missing from switch 0: {
"git_commit": "71e20463580a8e17b8b1eb8172cc3cdbece479a6",
"board": "oxide-rot-1",
"name": "oxide-rot-1",
"version": "1.0.34",
"sign": "1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27",
"epoch": null
} and assuming Nexus collected it faithfully, I tried to follow along where it should have been inserted into omicron/nexus/db-queries/src/db/datastore/inventory.rs Lines 112 to 116 in 7f0ac3d
This will assign it a random All the omicron/nexus/db-queries/src/db/datastore/inventory.rs Lines 302 to 313 in 7f0ac3d
This has an omicron/schema/crdb/dbinit.sql Lines 3352 to 3353 in 7f0ac3d
I think this explains why the rows are missing. This PR adds a |
Aha! yeah, that makes sense. I'll make the change and test it out on a raclette. Thank you @jgallagher ! |
Success! root@oxz_switch1:~# omdb db inventory collections show latest sp
note: database URL not specified. Will search DNS.
note: (override with --db-url or OMDB_DB_URL)
note: using DNS server for subnet fd00:1122:3344::/48
note: (if this is not right, use --dns-server to specify an alternate DNS server)
note: using database URL postgresql://root@[fd00:1122:3344:102::3]:32221,[fd00:1122:3344:104::3]:32221,[fd00:1122:3344:103::3]:32221,[fd00:1122:3344:101::3]:32221,[fd00:1122:3344:104::4]:32221/omicron?sslmode=disable
note: database schema version matches expected (139.0.0)
collection: 044a9a3b-c448-475a-bd61-cb6b9898d4a0
collector: 85872a2d-481b-4f4d-a34e-8eecbffdcce0 (likely a Nexus instance)
started: 2025-04-30T01:11:54.495Z
done: 2025-04-30T01:12:06.675Z
errors: 0
Sled BRM42220036
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 14 (cubby 14)
found at: 2025-04-30 01:11:57.772083 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220062
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 15 (cubby 15)
found at: 2025-04-30 01:12:00.040015 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220030
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 16 (cubby 16)
found at: 2025-04-30 01:11:54.516447 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM44220007
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 17 (cubby 17)
found at: 2025-04-30 01:11:58.911771 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-04-30 01:12:01.546430 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 psc-c psc-c 1.0.35 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 6c2a3bf9ef18a025497af80ad468c73a1fa985c1c4029ed5b6a55de09ec364d8
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-04-30 01:12:02.678147 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-04-30 01:12:04.072109 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-b sidecar-b 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc Thanks @davepacheco @jgallagher! I'll rebase with main, and this should be ready to go then |
It looks like a bunch of the tests are failing now :( My changes between d408a44 (the last time the tests passed) and the last commit are so small. I don't see how they could have broken anything? Additionally, the latest commit works as expected on London. @davepacheco is there a chance #8055 has anything to do with this? |
I don't immediately see how. The first failure I looked at was this one: It looks like this test is expecting an inventory collection to complete but it hasn't. Is there some test output that makes you suspect 8055? I would check out the Nexus logs and see if inventory collection is logging something about why it's not able to collect. |
I added some additional logging to see if the cabooses were being collected correctly and they were. So I thought perhaps the refactoring might have changed something I somehow had missed. But it appears that's not the case, as I locally reverted the new Here's a summary of my debugging so far. Starting from the very beginning, the tests loop over "attempt to fetch latest inventory collection" and time out not having done so. MGS does seem to be retrieving the correct caboose information. There are several loops of this: 21:41:58.105Z INFO bb8b77f6-92b3-44d8-a699-f2d97de981a5 (dropshot): request completed
latency_us = 731
local_addr = [::1]:51937
method = GET
remote_addr = [::1]:47701
req_id = ccc77dac-cace-4b78-85b4-4c554cc95946
response_code = 200
uri = /sp/switch/1/component/sp/caboose?firmware_slot=0
21:41:58.105Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (dropshot): incoming request
local_addr = [::1]:51937
method = GET
remote_addr = [::1]:47701
req_id = 01a6974e-4902-40e6-a423-30e2da3f21ef
uri = /sp/switch/1/component/sp/caboose?firmware_slot=1
21:41:58.105Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): sending request to SP
attempt = 1
request = Message { header: Header { version: 17, message_id: 8817 }, kind: MgsRequest(ReadComponentCaboose { component: SpComponent { id: "sp" }, slot: 1, key: [71, 73, 84, 67] }) }
21:41:58.105Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): received response from SP
header = Header { version: 17, message_id: 8817 }
response = CabooseValue
21:41:58.105Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): sending request to SP
attempt = 1
request = Message { header: Header { version: 17, message_id: 8818 }, kind: MgsRequest(ReadComponentCaboose { component: SpComponent { id: "sp" }, slot: 1, key: [66, 79, 82, 68] }) }
21:41:58.105Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): received response from SP
header = Header { version: 17, message_id: 8818 }
response = CabooseValue
21:41:58.105Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): sending request to SP
attempt = 1
request = Message { header: Header { version: 17, message_id: 8819 }, kind: MgsRequest(ReadComponentCaboose { component: SpComponent { id: "sp" }, slot: 1, key: [78, 65, 77, 69] }) }
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): received response from SP
header = Header { version: 17, message_id: 8819 }
response = CabooseValue
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): sending request to SP
attempt = 1
request = Message { header: Header { version: 17, message_id: 8820 }, kind: MgsRequest(ReadComponentCaboose { component: SpComponent { id: "sp" }, slot: 1, key: [86, 69, 82, 83] }) }
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): received response from SP
header = Header { version: 17, message_id: 8820 }
response = CabooseValue
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): sending request to SP
attempt = 1
request = Message { header: Header { version: 17, message_id: 8821 }, kind: MgsRequest(ReadComponentCaboose { component: SpComponent { id: "sp" }, slot: 1, key: [83, 73, 71, 78] }) }
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): received response from SP
header = Header { version: 17, message_id: 8821 }
response = Error(NoSuchCabooseKey([83, 73, 71, 78]))
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): sending request to SP
attempt = 1
request = Message { header: Header { version: 17, message_id: 8822 }, kind: MgsRequest(ReadComponentCaboose { component: SpComponent { id: "sp" }, slot: 1, key: [69, 80, 79, 67] }) }
21:41:58.106Z TRAC bb8b77f6-92b3-44d8-a699-f2d97de981a5 (ManagementSwitch): received response from SP
header = Header { version: 17, message_id: 8822 }
response = Error(NoSuchCabooseKey([69, 80, 79, 67])) Every time 00:55:13.944Z INFO test_blueprint_edit: DEBUG: attempt to fetch latest inventory collection
result = Ok("found")
00:55:14.061Z INFO test_blueprint_edit: DEBUG: attempt to fetch latest inventory collection
result = Ok("found")
00:55:14.147Z INFO test_blueprint_edit: DEBUG: attempt to fetch latest inventory collection
result = Ok("found")
00:55:14.217Z INFO test_blueprint_edit: DEBUG: attempt to fetch latest inventory collection
result = Ok("found")
<...> I added some additional logging to see if the cabooses were being collected correctly and they were: cabooses: {Caboose { board: "SimGimletSp", git_commit: "fefefefe", name: "SimGimlet", version: "0.0.1", sign: None }, Caboose { board: "SimGimletSp", git_commit: "ffffffff", name: "SimGimlet", version: "0.0.2", sign: None }, Caboose { board: "SimRot", git_commit: "edededed", name: "SimGimletRot", version: "0.0.3", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRot", git_commit: "edededed", name: "SimSidecarRot", version: "0.0.3", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRot", git_commit: "eeeeeeee", name: "SimGimletRot", version: "0.0.4", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRot", git_commit: "eeeeeeee", name: "SimSidecarRot", version: "0.0.4", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRotStage0", git_commit: "dadadadad", name: "SimGimletRot", version: "0.0.200", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRotStage0", git_commit: "dadadadad", name: "SimSidecarRot", version: "0.0.200", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRotStage0", git_commit: "ddddddddd", name: "SimGimletRot", version: "0.0.200", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimRotStage0", git_commit: "ddddddddd", name: "SimSidecarRot", version: "0.0.200", sign: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf") }, Caboose { board: "SimSidecarSp", git_commit: "fefefefe", name: "SimSidecar", version: "0.0.1", sign: None }, Caboose { board: "SimSidecarSp", git_commit: "ffffffff", name: "SimSidecar", version: "0.0.2", sign: None }} But no zpools were being collected, so it could never match with the desired zpool ID ( 02:57:27.694Z INFO test_blueprint_edit: DEBUG: FAIL finding zpool ID
all_zpools = {}
result = Collection { id: d069ee03-abe1-45b7-8f24-2d66419abf60 (collection),
<...> Additionally, no datasets, disks nor zpools were being collected at all! 03:35:07.697Z INFO test_blueprint_edit: DEBUG: collected sled agents
result = {b6d65341-167c-41df-9b5c-41cded99c229 (sled): SledAgent { time_collected: 2025-05-01T03:34:36.921385Z, source: "http://[::1]:45403", sled_id: b6d65341-167c-41df-9b5c-41cded99c229 (sled), baseboard_id: Some(BaseboardId { part_number: "sim-gimlet", serial_number: "sim-b6d65341-167c-41df-9b5c-41cded99c229" }), sled_agent_address: [::1]:45403, sled_role: Scrimlet, usable_hardware_threads: 16, usable_physical_ram: ByteCount(34359738368), reservoir_size: ByteCount(17179869184), omicron_zones: OmicronZonesConfig { generation: Generation(2), zones: [OmicronZoneConfig { id: 1873f5e7-5b41-4130-9491-8b70cd582638 (service), filesystem_pool: Some(ZpoolName { id: b391a066-87e8-4dd7-9bc9-d8532ecdcb34 (zpool), kind: External }), zone_type: CockroachDb { address: [::1]:50130, dataset: OmicronZoneDataset { pool_name: ZpoolName { id: b391a066-87e8-4dd7-9bc9-d8532ecdcb34 (zpool), kind: External } } }, image_source: InstallDataset }, OmicronZoneConfig { id: 2f65be1d-e840-4e39-929a-195bcf5ea219 (service), filesystem_pool: Some(ZpoolName { id: c355781b-a999-4258-929a-deb744a87c2c (zpool), kind: External }), zone_type: Nexus { internal_address: [::ffff:127.0.0.1]:56706, external_ip: 127.0.0.1, nic: NetworkInterface { id: e14255c7-ba83-4306-af67-ca8d2cef35cd, kind: Service { id: 2f65be1d-e840-4e39-929a-195bcf5ea219 }, name: Name("nexus-2f65be1d-e840-4e39-929a-195bcf5ea219"), ip: 172.30.2.6, mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), subnet: V4(Ipv4Net { addr: 172.30.2.0, width: 24 }), vni: Vni(100), primary: true, slot: 0, transit_ips: [] }, external_tls: false, external_dns_servers: [1.1.1.1, 9.9.9.9] }, image_source: InstallDataset }, OmicronZoneConfig { id: d7592389-ddd7-4c57-a655-2839555da15c (service), filesystem_pool: Some(ZpoolName { id: ca605836-15ad-4b12-9f53-9aedd84c56a6 (zpool), kind: External }), zone_type: ExternalDns { dataset: OmicronZoneDataset { pool_name: ZpoolName { id: ca605836-15ad-4b12-9f53-9aedd84c56a6 (zpool), kind: External } }, http_address: [::1]:52457, dns_address: [::1]:38599, nic: NetworkInterface { id: 8208debd-5a89-4408-abee-e492c0851c60, kind: Service { id: d7592389-ddd7-4c57-a655-2839555da15c }, name: Name("external-dns-d7592389-ddd7-4c57-a655-2839555da15c"), ip: 172.30.1.6, mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), subnet: V4(Ipv4Net { addr: 172.30.1.0, width: 24 }), vni: Vni(100), primary: true, slot: 0, transit_ips: [] } }, image_source: InstallDataset }, OmicronZoneConfig { id: ec37e43b-e74a-4c20-a6d5-304297e340b7 (service), filesystem_pool: Some(ZpoolName { id: eb640942-3655-4829-847e-555bb1435b55 (zpool), kind: External }), zone_type: InternalDns { dataset: OmicronZoneDataset { pool_name: ZpoolName { id: eb640942-3655-4829-847e-555bb1435b55 (zpool), kind: External } }, http_address: [::1]:58766, dns_address: [::1]:36290, gz_address: ::1, gz_address_index: 0 }, image_source: InstallDataset }, OmicronZoneConfig { id: ee9c3708-32b1-414f-9621-a969136d2b85 (service), filesystem_pool: Some(ZpoolName { id: 9eb1bcad-3130-4c2d-9cd5-2be4ddaba75d (zpool), kind: External }), zone_type: Clickhouse { address: [::1]:57782, dataset: OmicronZoneDataset { pool_name: ZpoolName { id: 9eb1bcad-3130-4c2d-9cd5-2be4ddaba75d (zpool), kind: External } } }, image_source: InstallDataset }, OmicronZoneConfig { id: eee8e2ed-05bf-4e03-b377-3de4d78cd3ad (service), filesystem_pool: Some(ZpoolName { id: 06859f09-ea30-4912-9212-a41ece7fa62a (zpool), kind: External }), zone_type: CruciblePantry { address: [::1]:40766 }, image_source: InstallDataset }] }, disks: [], zpools: [], datasets: [], omicron_physical_disks_generation: Generation(1) }} I ran the tests reverting my change of adding 04:17:14.951Z INFO test_blueprint_edit: DEBUG: read batched zpools
zpools = {b6d65341-167c-41df-9b5c-41cded99c229: [Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 1b55562b-5dc8-416e-8dfd-77dcbc52e264 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 4301a958-cd40-4dcc-b980-cf19ce95cc5a (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 571c5f01-bd4d-4205-91fd-d15925c7ff81 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 606e7dd3-0d62-4c0f-9ddd-7c4819fe4e7d (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 880eb26f-3221-4881-9d07-b47436bc0b30 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 8d7cba7c-828f-45ec-bef3-af2c171506b0 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 92736071-1fa8-4836-9d29-77701c07e36f (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: 933a65f9-a6be-4f36-91b0-5e9b16142893 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: a51455ae-6be6-464e-810b-aa3796e25498 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: b0441e7f-1096-414f-a5f9-c8294ce5d65f (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: d572fd6b-b3ad-4c49-9d9d-e4e833db9ebf (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: e37fd44d-e272-4c4e-994d-ae897600dd0f (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:14.827440Z, id: f138f39b-fae8-45f3-86eb-5ee66cc4fd2d (zpool), total_size: ByteCount(17179869184) }]} 04:17:14.108Z INFO test_blueprint_edit: DEBUG: collected sled agents
result = {b6d65341-167c-41df-9b5c-41cded99c229 (sled): SledAgent { time_collected: 2025-05-01T04:17:13.915427Z, source: "http://[::1]:33989", sled_id: b6d65341-167c-41df-9b5c-41cded99c229 (sled), baseboard_id: Some(BaseboardId { part_number: "sim-gimlet", serial_number: "sim-b6d65341-167c-41df-9b5c-41cded99c229" }), sled_agent_address: [::1]:33989, sled_role: Scrimlet, usable_hardware_threads: 16, usable_physical_ram: ByteCount(34359738368), reservoir_size: ByteCount(17179869184), omicron_zones: OmicronZonesConfig { generation: Generation(2), zones: [OmicronZoneConfig { id: 14215392-b60d-4cfd-be72-b6c4e0890c9d (service), filesystem_pool: Some(ZpoolName { id: e37fd44d-e272-4c4e-994d-ae897600dd0f (zpool), kind: External }), zone_type: InternalDns { dataset: OmicronZoneDataset { pool_name: ZpoolName { id: e37fd44d-e272-4c4e-994d-ae897600dd0f (zpool), kind: External } }, http_address: [::1]:56602, dns_address: [::1]:45210, gz_address: ::1, gz_address_index: 0 }, image_source: InstallDataset }, OmicronZoneConfig { id: 1631db6d-814c-4336-8c87-4a439cc7bbb7 (service), filesystem_pool: Some(ZpoolName { id: f138f39b-fae8-45f3-86eb-5ee66cc4fd2d (zpool), kind: External }), zone_type: ExternalDns { dataset: OmicronZoneDataset { pool_name: ZpoolName { id: f138f39b-fae8-45f3-86eb-5ee66cc4fd2d (zpool), kind: External } }, http_address: [::1]:42452, dns_address: [::1]:36887, nic: NetworkInterface { id: cf043a0b-ce18-42d3-84b9-e5962c4d65d3, kind: Service { id: 1631db6d-814c-4336-8c87-4a439cc7bbb7 }, name: Name("external-dns-1631db6d-814c-4336-8c87-4a439cc7bbb7"), ip: 172.30.1.6, mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 0])), subnet: V4(Ipv4Net { addr: 172.30.1.0, width: 24 }), vni: Vni(100), primary: true, slot: 0, transit_ips: [] } }, image_source: InstallDataset }, OmicronZoneConfig { id: 463a82e4-1d16-453a-a6b4-3900574c8bcf (service), filesystem_pool: Some(ZpoolName { id: 4301a958-cd40-4dcc-b980-cf19ce95cc5a (zpool), kind: External }), zone_type: Clickhouse { address: [::1]:41282, dataset: OmicronZoneDataset { pool_name: ZpoolName { id: 4301a958-cd40-4dcc-b980-cf19ce95cc5a (zpool), kind: External } } }, image_source: InstallDataset }, OmicronZoneConfig { id: 526fcd32-60a2-4161-aa5b-0bdd33bde972 (service), filesystem_pool: Some(ZpoolName { id: 1b55562b-5dc8-416e-8dfd-77dcbc52e264 (zpool), kind: External }), zone_type: Nexus { internal_address: [::ffff:127.0.0.1]:54933, external_ip: 127.0.0.1, nic: NetworkInterface { id: 4d64a0b6-f377-4743-8500-a9904cc154ea, kind: Service { id: 526fcd32-60a2-4161-aa5b-0bdd33bde972 }, name: Name("nexus-526fcd32-60a2-4161-aa5b-0bdd33bde972"), ip: 172.30.2.6, mac: MacAddr(MacAddr6([168, 64, 37, 255, 128, 1])), subnet: V4(Ipv4Net { addr: 172.30.2.0, width: 24 }), vni: Vni(100), primary: true, slot: 0, transit_ips: [] }, external_tls: false, external_dns_servers: [1.1.1.1, 9.9.9.9] }, image_source: InstallDataset }, OmicronZoneConfig { id: 9d0211a8-f025-4198-875c-a70a05ef1109 (service), filesystem_pool: Some(ZpoolName { id: b0441e7f-1096-414f-a5f9-c8294ce5d65f (zpool), kind: External }), zone_type: CruciblePantry { address: [::1]:38995 }, image_source: InstallDataset }, OmicronZoneConfig { id: aaeff959-fc01-4348-a6fb-3ad9409c79c2 (service), filesystem_pool: Some(ZpoolName { id: 8d7cba7c-828f-45ec-bef3-af2c171506b0 (zpool), kind: External }), zone_type: CockroachDb { address: [::1]:52210, dataset: OmicronZoneDataset { pool_name: ZpoolName { id: 8d7cba7c-828f-45ec-bef3-af2c171506b0 (zpool), kind: External } } }, image_source: InstallDataset }] }, disks: [PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 97921465-3fdc-448e-ba55-140cbb422895" }, variant: U2, slot: 0, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 3089fef6-fd71-4225-92e4-49de14a2bdc4" }, variant: U2, slot: 1, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 1da98f7a-db6c-4cc3-b438-f852c608a7fd" }, variant: U2, slot: 2, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 21d6613b-2b33-4820-86bd-5292c48c7c99" }, variant: U2, slot: 3, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 2c6af5f9-e1c7-472a-8291-d720b1ba6f73" }, variant: U2, slot: 4, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 2ec33a91-3c25-42af-8cf3-74a6e968e0db" }, variant: U2, slot: 5, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 49cd649e-3ab5-48a8-87c3-b1c3e789991b" }, variant: U2, slot: 6, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 688cf65f-ab21-40ff-992f-1a74865436b6" }, variant: U2, slot: 7, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: 7c6c4062-8b15-4a77-8ec1-1a66bf1902c7" }, variant: U2, slot: 8, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }, PhysicalDisk { identity: DiskIdentity { vendor: "test-vendor", model: "test-model", serial: "totally-unique-serial: c0ad44ef-a848-4af4-9211-68abcde84d52" }, variant: U2, slot: 9, firmware: Nvme(NvmeFirmware { active_slot: 1, next_active_slot: None, number_of_slots: 1, slot1_is_read_only: true, slot_firmware_versions: [Some("SIMUL1")] }) }], zpools: [Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: 4301a958-cd40-4dcc-b980-cf19ce95cc5a (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: 571c5f01-bd4d-4205-91fd-d15925c7ff81 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: 606e7dd3-0d62-4c0f-9ddd-7c4819fe4e7d (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: 880eb26f-3221-4881-9d07-b47436bc0b30 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: 8d7cba7c-828f-45ec-bef3-af2c171506b0 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: 933a65f9-a6be-4f36-91b0-5e9b16142893 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: a51455ae-6be6-464e-810b-aa3796e25498 (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: b0441e7f-1096-414f-a5f9-c8294ce5d65f (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: d572fd6b-b3ad-4c49-9d9d-e4e833db9ebf (zpool), total_size: ByteCount(17179869184) }, Zpool { time_collected: 2025-05-01T04:17:13.915427Z, id: e37fd44d-e272-4c4e-994d-ae897600dd0f (zpool), total_size: ByteCount(17179869184) }], datasets: [Dataset { id: Some(17103fa7-5bb6-42e7-b8ca-880857f253e7 (dataset)), name: "oxp_571c5f01-bd4d-4205-91fd-d15925c7ff81/crucible", available: ByteCount(0), used: ByteCount(0), quota: None, reservation: None, compression: "off" }, Dataset { id: Some(c3e166e8-1408-4e60-a56d-a67a1a53061d (dataset)), name: "oxp_571c5f01-bd4d-4205-91fd-d15925c7ff81/crypt/debug", available: ByteCount(0), used: ByteCount(0), quota: None, reservation: None, compression: "off" }, Dataset { id: Some(cea7c068-5b68-4847-aeea-01de0ab39886 (dataset)), name: "oxp_606e7dd3-0d62-4c0f-9ddd-7c4819fe4e7d/crucible", available: ByteCount(0), used: ByteCount(0), quota: None, reservation: None, compression: "off" }, Dataset { id: Some(fadb90a4-f21f-443e-87a7-c8b1d61baf3c (dataset)), name: "oxp_606e7dd3-0d62-4c0f-9ddd-7c4819fe4e7d/crypt/debug", available: ByteCount(0), used: ByteCount(0), quota: None, reservation: None, compression: "off" }, Dataset { id: Some(54161552-8687-45e4-950a-78bf1acd965f (dataset)), name: "oxp_880eb26f-3221-4881-9d07-b47436bc0b30/crucible", available: ByteCount(0), used: ByteCount(0), quota: None, reservation: None, compression: "off" }, Dataset { id: Some(79dfb61c-63d0-41d2-ba0f-c25c2d9ef5b1 (dataset)), name: "oxp_880eb26f-3221-4881-9d07-b47436bc0b30/crypt/debug", available: ByteCount(0), used: ByteCount(0), quota: None, reservation: None, compression: "off" }], omicron_physical_disks_generation: Generation(1) }} Now that we know that no disks, datasets, nor zpools are being fetched, let's see if they're being created at all. It looks like they are: 05:51:05.115Z INFO test_blueprint_edit: DEBUG: get matching physical disk
disk = Some(PhysicalDiskPutRequest { id: 2b376b22-69ef-4bf1-93c4-4fc1aa5842e5 (physical_disk), model: "test-model", serial: "totally-unique-serial: 2b376b22-69ef-4bf1-93c4-4fc1aa5842e5", sled_id: b6d65341-167c-41df-9b5c-41cded99c229, variant: U2, vendor: "test-vendor" })
expected_id = 2b376b22-69ef-4bf1-93c4-4fc1aa5842e5 (physical_disk)
05:51:05.116Z INFO test_blueprint_edit: DEBUG: get matching zpool
expected_id = 120399c2-612c-44e1-bd79-e119314aa409 (zpool)
zpool = Some(ZpoolPutRequest { id: 120399c2-612c-44e1-bd79-e119314aa409, physical_disk_id: 2b376b22-69ef-4bf1-93c4-4fc1aa5842e5 (physical_disk), sled_id: b6d65341-167c-41df-9b5c-41cded99c229 })
05:51:05.241Z INFO test_blueprint_edit: DEBUG: get matching datasets
datasets = [(743fc688-77b3-4440-8c91-84fbc98bc59c (dataset), [::1]:60481)]
zpool_id = 120399c2-612c-44e1-bd79-e119314aa409 (zpool) I retrieved the previous values with the following calls: let debug_disks = sled_agent.get_all_physical_disks();
let mut debug_disks_iter =
debug_disks.iter().filter(|disk| disk.id == physical_disk_id);
let debug_disk = debug_disks_iter.next();
info!(log, "DEBUG: get matching physical disk"; "disk" => ?debug_disk, "expected_id" => ?physical_disk_id);
let debug_zpools = sled_agent.get_zpools();
let mut debug_zpools_iter =
debug_zpools.iter().filter(|z| z.id == *zpool.id.as_untyped_uuid());
let debug_zpool = debug_zpools_iter.next();
info!(log, "DEBUG: get matching zpool"; "zpool" => ?debug_zpool, "expected_id" => ?zpool_id);
let debug_datasets = sled_agent.get_crucible_datasets(zpool.id);
info!(log, "DEBUG: get matching datasets"; "datasets" => ?debug_datasets, "zpool_id" => ?zpool_id); It would appear that the zpools, datasets and disks are either not being saved in the DB correctly, and/or fetched. I need to run now, but I'll continue debugging tomorrow. Frankly, I'm surprised the cabooses are being saved and retrieved correctly, but it's the zpools, datasets and disks that are not 🤷♀️ |
Does the inventory collection process log anything in the Nexus log? |
Yeah, it just loops over and over making API calls trying to retrieve the inventory collection but I couldn't identify any meaningful errors :( |
So apparently diesel got the best of me 😅 I tried to find a way to make these logs more understandable, but alas, this is the best I got. I captured what was going to be inserted into On a working branch it looks like this: 03:35:09.086Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.781694Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.094Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.803283Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.094Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.825446Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.094Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.843124Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.095Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.783668Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.095Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.804866Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.095Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.826656Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.096Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.844819Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.096Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.788817Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.097Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.806391Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.097Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.827686Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.098Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.846432Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.099Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.789921Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.099Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.807939Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.100Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.829313Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.100Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.851976Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.101Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.791483Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.102Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.809490Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.102Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.830877Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.103Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.853022Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.104Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.793026Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.104Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.811068Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.105Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.832485Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.106Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.854261Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.760Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.670160Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.760Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.679486Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.760Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.689446Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.761Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.699057Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.761Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.671271Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.761Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.680586Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.763Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.690543Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.763Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.700077Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.763Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.672372Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.763Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.681599Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.764Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.691566Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.764Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.701081Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.765Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.673379Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.766Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.682614Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.768Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.692684Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.768Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.702089Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.769Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.674400Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.770Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.683791Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.770Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.694264Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.771Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.703092Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.772Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.675506Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.773Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.684956Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.774Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.695275Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
03:35:09.775Z INFO 2e13f52c-75fa-4c35-be71-5cb5997cec2c (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.704099Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
<...> As it can be seen, each item ID has several entries. One for each of the components ("SimSidecar0":"SimSidecarSp", "SimSidecar1":"SimSidecarSp", "SimGimlet00":"SimGimletSp", etc). Running the same test with a branch that uses 02:52:42.382Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.003054Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.390Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.027841Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.391Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.050019Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.392Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.062083Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.393Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.005227Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.393Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.029416Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.394Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.051596Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.395Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.067968Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot1, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimGimletSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "fefefefe", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimlet", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.396Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.011883Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.396Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.031017Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.397Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.053147Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.398Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.069837Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotA, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "eeeeeeee", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.4", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.398Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.013595Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.399Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.032528Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.400Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.054683Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.400Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.075612Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: RotSlotB, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "edededed", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.3", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.401Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.015556Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.402Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.034020Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.402Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.056181Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.403Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.076688Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ddddddddd", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.404Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.017211Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.404Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.040186Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar1", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecarRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.405Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.057206Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet00", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:42.406Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.077678Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: Stage0Next, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "i86pc", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimGimlet01", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimRotStage0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "dadadadad", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimGimletRot", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.200", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: Some("11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf"), _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:43.081Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: 83077f5e-e4e7-4f0b-bd06-053c2b6800e1 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.950673Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:43.283Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: ad036d12-49bf-439f-8267-6c680c8fff71 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:43.131820Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:43.433Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: a43b77de-08bf-4bb4-a4ae-7b3000a3b1d6 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:43.330749Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
02:52:43.571Z INFO 1476b7e6-81c1-4420-8d8d-4168034a3e06 (ServerContext): DEBUG: Inserting into inv_caboose
background_task = inventory_collection
values = SelectStatement { select: SelectClause((id, id, Bound { item: f9a9e38e-c1d9-4461-ba01-9a0391b91ffd (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:43.469031Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
<...More of the same, next row is an attempt from the nex item ID...> In this case only the first item ID has several entries, the next ones are just a single entry for the first component, and then it moves on to the next item ID. I took a look at the difference between the first row of each item ID that will be inserted in both the healthy and the broken example: Healthyvalues = SelectStatement { select: SelectClause((id, id, Bound { item: c9fd0d25-28ac-4020-92af-491dd242207d (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:08.781694Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
values = SelectStatement { select: SelectClause((id, id, Bound { item: e0dc3fbd-bcd9-40ae-9d69-638f4c90bb38 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T03:35:09.670160Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:45291", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause } Brokenvalues = SelectStatement { select: SelectClause((id, id, Bound { item: b73ecca0-0bb9-49b7-be0a-eb08348db210 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.003054Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause }
values = SelectStatement { select: SelectClause((id, id, Bound { item: 83077f5e-e4e7-4f0b-bd06-053c2b6800e1 (collection), _marker: PhantomData<diesel::pg::types::sql_types::Uuid> }, Bound { item: 2025-05-02T02:52:42.950673Z, _marker: PhantomData<diesel::pg::types::sql_types::Timestamptz> }, Bound { item: "http://[::1]:36741", _marker: PhantomData<diesel::sql_types::Text> }, Bound { item: SpSlot0, _marker: PhantomData<nexus_db_schema::enums::CabooseWhichEnum> })), from: FromClause { from_clause: Grouped(InfixNode { lhs: Join { left: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::hw_baseboard_id::table>) }, right: FromClause { from_clause: StaticQueryFragmentInstance(PhantomData<nexus_db_schema::schema::sw_caboose::table>) }, kind: Inner }, rhs: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(And { left: Grouped(Eq { left: part_number, right: Bound { item: "FAKE_SIM_SIDECAR", _marker: PhantomData<diesel::sql_types::Text> } }), right: Grouped(Eq { left: serial_number, right: Bound { item: "SimSidecar0", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: board, right: Bound { item: "SimSidecarSp", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: git_commit, right: Bound { item: "ffffffff", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: name, right: Bound { item: "SimSidecar", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(Eq { left: version, right: Bound { item: "0.0.2", _marker: PhantomData<diesel::sql_types::Text> } }) }), right: Grouped(IsNotDistinctFrom { left: sign, right: Bound { item: None, _marker: PhantomData<diesel::sql_types::Nullable<diesel::sql_types::Text>> } }) }), middle: OnKeyword }) }, distinct: NoDistinctClause, where_clause: NoWhereClause, order: NoOrderClause, limit_offset: LimitOffsetClause { limit_clause: NoLimitClause, offset_clause: NoOffsetClause }, group_by: NoGroupByClause, having: NoHavingClause, locking: NoLockingClause } The only difference I could find is that one uses |
Thinking that the use of This made me think that perhaps the problem itself was that we are creating a unique index from a nullable field. I searched based on that and came up with some interesting results. In CockroachDB with the From the documentation:
Their advice for a solution is to use the
I looked around to see if there were any workarounds we could use to keep this field null and found out a few things. Postgres has a We could potentially use two partial indexes, one for Frankly, the latter approach appears to be more trouble than it's worth. The original person asking the question on stack overflow had the idea of just setting the field to not nullable, and populating it with Thoughts? @davepacheco @jgallagher |
Thanks, @karencfv. I was aware of the weirdness with NULL values in indexes but I misunderstood the behavior. It makes sense that this could be causing this behavior. (We could confirm with the contents of the The approach using two partial indexes (on |
I looked around to see if there was a third option to handle indexes on a nullable column as I still wasn't 100% sold on the partial indexes solution. As a solution, it's not particularly straightforward to grep for anyone having to work on this part of the code without the background of everything that went on in this PR. I found a way to handle the nullable column, which in my point of view, has the best of both worlds. It keeps the The tests here are passing which is a great sign, and I also tested 19c5841 on London with the following results: root@oxz_switch1:~# omdb db inventory collections show latest sp
note: database URL not specified. Will search DNS.
note: (override with --db-url or OMDB_DB_URL)
note: using DNS server for subnet fd00:1122:3344::/48
note: (if this is not right, use --dns-server to specify an alternate DNS server)
note: using database URL postgresql://root@[fd00:1122:3344:103::3]:32221,[fd00:1122:3344:101::3]:32221,[fd00:1122:3344:104::4]:32221,[fd00:1122:3344:104::3]:32221,[fd00:1122:3344:102::3]:32221/omicron?sslmode=disable
note: database schema version matches expected (140.0.0)
collection: 76353a20-7144-4144-922d-af3764f678ba
collector: 3c04549e-fc50-4b36-8e18-41366a57c137 (likely a Nexus instance)
started: 2025-05-06T04:03:49.798Z
done: 2025-05-06T04:04:06.232Z
errors: 0
Sled BRM42220036
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 14 (cubby 14)
found at: 2025-05-06 04:03:53.922667 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220062
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 15 (cubby 15)
found at: 2025-05-06 04:03:56.243960 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220030
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 16 (cubby 16)
found at: 2025-05-06 04:03:52.289532 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM44220007
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 17 (cubby 17)
found at: 2025-05-06 04:03:55.084126 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-05-06 04:03:58.110002 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 psc-c psc-c 1.0.35 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 6c2a3bf9ef18a025497af80ad468c73a1fa985c1c4029ed5b6a55de09ec364d8
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-05-06 04:04:00.688227 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-05-06 04:04:01.971765 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-b sidecar-b 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc root@[fd00:1122:3344:102::3]:32221/omicron> select * from sw_caboose;
id | board | git_commit | name | version | sign | sign_idx
---------------------------------------+-------------+------------------------------------------+-------------+---------+------------------------------------------------------------------+-------------------------------------------------------------------
2ca5e3ae-915d-493e-8468-36259bc6129c | sidecar-b | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-b | 1.0.37 | NULL | n/a
31552562-ee9e-4ec9-adba-0ec6c4b89f16 | sidecar-b | 441b09270d8715275d6b3c3b57d84dba539e34d0 | sidecar-b | 1.0.35 | NULL | n/a
3a1469f7-26b6-4075-b2f7-b37c1ad97cd8 | sidecar-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-c | 1.0.37 | NULL | n/a
43dbcf7a-8edf-4314-af41-cd4f365709df | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
4c738225-0449-445e-8aa0-fa637b5da4f3 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
4cc213af-97c2-488d-a9a6-0b8324bcb53a | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
508a3cc0-61eb-4ed3-ab07-b465b932a0f1 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
5d0559c6-d846-4c87-ba72-3626d6b4a3e2 | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
96261566-62d1-406f-b396-52f243254174 | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
bb4d448f-3264-4342-ab95-fe3bc3972c2f | psc-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | psc-c | 1.0.35 | NULL | n/a
d4fc0db0-3439-424f-882c-5c300482bc8e | psc-c | 441b09270d8715275d6b3c3b57d84dba539e34d0 | psc-c | 1.0.33 | NULL | n/a
eacea96a-6ce3-4db4-b165-5adb36501070 | gimlet-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | gimlet-c | 1.0.36 | NULL | n/a
(12 rows) root@[fd00:1122:3344:102::3]:32221/omicron> select * from inv_caboose;
inv_collection_id | hw_baseboard_id | time_collected | source | which | sw_caboose_id
---------------------------------------+--------------------------------------+-------------------------------+--------------------------------------+------------+---------------------------------------
13007909-c759-4b41-a0ed-8389f40faac7 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:13:04.761196+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 3a1469f7-26b6-4075-b2f7-b37c1ad97cd8
13007909-c759-4b41-a0ed-8389f40faac7 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:13:04.76357+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 3a1469f7-26b6-4075-b2f7-b37c1ad97cd8
13007909-c759-4b41-a0ed-8389f40faac7 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:13:05.025017+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 96261566-62d1-406f-b396-52f243254174
13007909-c759-4b41-a0ed-8389f40faac7 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:13:05.286911+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 96261566-62d1-406f-b396-52f243254174
13007909-c759-4b41-a0ed-8389f40faac7 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:13:05.545282+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
13007909-c759-4b41-a0ed-8389f40faac7 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:13:05.814986+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
13007909-c759-4b41-a0ed-8389f40faac7 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:12:57.871358+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:12:57.873852+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:12:58.137275+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:12:58.422317+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:12:58.764066+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:12:59.315321+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:13:03.63546+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | bb4d448f-3264-4342-ab95-fe3bc3972c2f
13007909-c759-4b41-a0ed-8389f40faac7 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:13:03.637659+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | d4fc0db0-3439-424f-882c-5c300482bc8e
13007909-c759-4b41-a0ed-8389f40faac7 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:13:03.894719+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 43dbcf7a-8edf-4314-af41-cd4f365709df
13007909-c759-4b41-a0ed-8389f40faac7 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:13:04.158896+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 43dbcf7a-8edf-4314-af41-cd4f365709df
13007909-c759-4b41-a0ed-8389f40faac7 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:13:04.416664+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 508a3cc0-61eb-4ed3-ab07-b465b932a0f1
13007909-c759-4b41-a0ed-8389f40faac7 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:13:04.684716+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 508a3cc0-61eb-4ed3-ab07-b465b932a0f1
13007909-c759-4b41-a0ed-8389f40faac7 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:13:02.503443+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:13:02.506193+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:13:02.769526+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:13:03.026529+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:13:03.293505+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:13:03.555843+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:13:01.371836+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:13:01.373911+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:13:01.635983+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:13:01.894115+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:13:02.161056+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:13:02.425051+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:13:06.225293+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_0 | 2ca5e3ae-915d-493e-8468-36259bc6129c
13007909-c759-4b41-a0ed-8389f40faac7 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:13:06.228019+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_1 | 31552562-ee9e-4ec9-adba-0ec6c4b89f16
13007909-c759-4b41-a0ed-8389f40faac7 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:13:06.485744+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 96261566-62d1-406f-b396-52f243254174
13007909-c759-4b41-a0ed-8389f40faac7 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:13:06.747828+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 96261566-62d1-406f-b396-52f243254174
13007909-c759-4b41-a0ed-8389f40faac7 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:13:07.005877+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
13007909-c759-4b41-a0ed-8389f40faac7 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:13:07.51293+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
13007909-c759-4b41-a0ed-8389f40faac7 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:13:00.186883+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:13:00.234444+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
13007909-c759-4b41-a0ed-8389f40faac7 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:13:00.506102+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:13:00.768099+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
13007909-c759-4b41-a0ed-8389f40faac7 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:13:01.031187+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
13007909-c759-4b41-a0ed-8389f40faac7 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:13:01.293767+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:23:05.993132+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 3a1469f7-26b6-4075-b2f7-b37c1ad97cd8
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:23:05.995361+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 3a1469f7-26b6-4075-b2f7-b37c1ad97cd8
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:23:06.257334+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 96261566-62d1-406f-b396-52f243254174
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:23:06.536343+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 96261566-62d1-406f-b396-52f243254174
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:23:06.890277+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 10bd8c9f-b0d0-4ca3-b658-e3190dc01ad0 | 2025-05-06 04:23:07.163376+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:22:58.466336+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:22:58.476505+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:22:58.849296+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:22:59.113245+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:22:59.597387+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 3bcf82f9-7878-4bc1-b2a0-2170e8d8a322 | 2025-05-06 04:23:00.63324+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:23:04.865564+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | bb4d448f-3264-4342-ab95-fe3bc3972c2f
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:23:04.867765+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | d4fc0db0-3439-424f-882c-5c300482bc8e
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:23:05.124645+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 43dbcf7a-8edf-4314-af41-cd4f365709df
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:23:05.386649+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 43dbcf7a-8edf-4314-af41-cd4f365709df
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:23:05.65365+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 508a3cc0-61eb-4ed3-ab07-b465b932a0f1
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 4002f692-9f72-4a79-ab84-f997bfa9111f | 2025-05-06 04:23:05.91254+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 508a3cc0-61eb-4ed3-ab07-b465b932a0f1
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:23:03.740956+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:23:03.743201+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:23:04.000941+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:23:04.262988+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:23:04.521043+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | 6dd032fe-9c99-4324-bd90-67a5a36276bd | 2025-05-06 04:23:04.788866+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:23:02.622468+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:23:02.624792+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:23:02.882034+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:23:03.139041+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:23:03.401141+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | ae701d53-78cb-488c-812d-4ccb6d514748 | 2025-05-06 04:23:03.664997+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:23:07.940776+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_0 | 2ca5e3ae-915d-493e-8468-36259bc6129c
23edc5a1-87c1-4990-8eda-59ac25322bb2 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:23:07.943065+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_1 | 31552562-ee9e-4ec9-adba-0ec6c4b89f16
23edc5a1-87c1-4990-8eda-59ac25322bb2 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:23:08.20513+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 96261566-62d1-406f-b396-52f243254174
23edc5a1-87c1-4990-8eda-59ac25322bb2 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:23:08.467567+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 96261566-62d1-406f-b396-52f243254174
23edc5a1-87c1-4990-8eda-59ac25322bb2 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:23:08.738126+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
23edc5a1-87c1-4990-8eda-59ac25322bb2 | b01790b5-2b3e-43f5-904e-50ba09536a0f | 2025-05-06 04:23:09.006095+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 4cc213af-97c2-488d-a9a6-0b8324bcb53a
23edc5a1-87c1-4990-8eda-59ac25322bb2 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:23:01.488358+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:23:01.490929+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | eacea96a-6ce3-4db4-b165-5adb36501070
23edc5a1-87c1-4990-8eda-59ac25322bb2 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:23:01.752993+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:23:02.012098+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 5d0559c6-d846-4c87-ba72-3626d6b4a3e2
23edc5a1-87c1-4990-8eda-59ac25322bb2 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:23:02.276928+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4c738225-0449-445e-8aa0-fa637b5da4f3
23edc5a1-87c1-4990-8eda-59ac25322bb2 | d01007a3-5821-429f-a5f7-1c6b38597042 | 2025-05-06 04:23:02.540065+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4c738225-0449-445e-8aa0-fa637b5da4f3
<... more collections ...> |
Thanks for sticking with this one. It's proved quite a rabbit hole.
I believe this implementation is correct. But I find it more complex and less obvious than the approach that uses two partial indexes. We use partial indexes extensively already, and often use extra conditions to limit how the uniqueness constraint applies. In fact, I just looked and found that the indexes on By contrast, as far as I can tell, we don't have any computed columns in the schema today. That's okay but I don't have any firsthand experience with those and don't know what pitfalls lay there, and I imagine other people may be in the same boat. That's not a reason to never use them, but all things being equal, I'd much prefer sticking to abstractions we already use and understand.
I don't think I follow the concern here. If we go with the two partial indexes, I'd definitely include a comment saying something like:
That seems about as clear for future readers as what's here. I don't feel like either approach is particularly grep'able, nor that they need to be. |
Fair enough, makes sense to have consistency in how we do things :) I'll run the same tests on London once the TUF repo is ready just to make sure everything works as expected. |
Ugh, sadly we seem to be back at square one using the partial indexes :( Rows with null IDs or a sign hash other than "11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf " are not showing. root@oxz_switch1:~# omdb db inventory collections show latest sp
note: database URL not specified. Will search DNS.
note: (override with --db-url or OMDB_DB_URL)
note: using DNS server for subnet fd00:1122:3344::/48
note: (if this is not right, use --dns-server to specify an alternate DNS server)
note: using database URL postgresql://root@[fd00:1122:3344:102::3]:32221,[fd00:1122:3344:104::3]:32221,[fd00:1122:3344:104::4]:32221,[fd00:1122:3344:103::3]:32221,[fd00:1122:3344:101::3]:32221/omicron?sslmode=disable
note: database schema version matches expected (139.0.0)
collection: 6241cc78-d7e8-49b8-8cad-aa46e6cfe3d7
collector: 8c3250a4-a11a-47e5-bb48-873f817e1d6c (likely a Nexus instance)
started: 2025-05-07T03:49:11.661Z
done: 2025-05-07T03:49:23.956Z
errors: 0
Sled BRM42220036
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 14 (cubby 14)
found at: 2025-05-07 03:49:12.886427 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220062
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 15 (cubby 15)
found at: 2025-05-07 03:49:16.571491 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220030
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 16 (cubby 16)
found at: 2025-05-07 03:49:11.715188 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM44220007
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 17 (cubby 17)
found at: 2025-05-07 03:49:15.044453 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-05-07 03:49:17.705764 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 6c2a3bf9ef18a025497af80ad468c73a1fa985c1c4029ed5b6a55de09ec364d8
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-05-07 03:49:20.034297 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-05-07 03:49:18.832899 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
I'll try out with having one of the indexes be a complete index, but frankly I'm not very confident that that will work. 🤔 |
That worked!!! root@oxz_switch1:~# omdb db inventory collections show latest sp
note: database URL not specified. Will search DNS.
note: (override with --db-url or OMDB_DB_URL)
note: using DNS server for subnet fd00:1122:3344::/48
note: (if this is not right, use --dns-server to specify an alternate DNS server)
note: using database URL postgresql://root@[fd00:1122:3344:104::4]:32221,[fd00:1122:3344:101::3]:32221,[fd00:1122:3344:104::3]:32221,[fd00:1122:3344:103::3]:32221,[fd00:1122:3344:102::3]:32221/omicron?sslmode=disable
note: database schema version matches expected (141.0.0)
collection: b108b62f-11b1-4f16-8889-b3100e0fd946
collector: 8855dfca-0d0a-4013-9576-42444b4308ae (likely a Nexus instance)
started: 2025-05-07T06:05:23.300Z
done: 2025-05-07T06:05:33.755Z
errors: 0
Sled BRM42220036
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 14 (cubby 14)
found at: 2025-05-07 06:05:24.447940 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 0.0.0-ci 8e99ea5e408033d22d92164fa4b532d92a402c63 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220062
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 15 (cubby 15)
found at: 2025-05-07 06:05:27.021983 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM42220030
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 16 (cubby 16)
found at: 2025-05-07 06:05:23.325203 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAE8AAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Sled BRM44220007
part number: 913-0000019
power: A0
revision: 6
MGS slot: Sled 17 (cubby 17)
found at: 2025-05-07 06:05:25.764559 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 gimlet-c gimlet-c 1.0.36 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAGsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 9ba01fc19057d6fa0618a5918b6b11d41cf724aba41f27dd48ec06f89aea7fed
RoT: slot B SHA3-256: 16b846eb11c9307d208624bddff21b3dc0797fe7b364feaac202eb4f92996e50
Power BRM11230017
part number: 913-0000003
power: A2
revision: 9
MGS slot: Power 0
found at: 2025-05-07 06:05:28.154019 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 psc-c psc-c 1.0.35 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 psc-c psc-c 1.0.33 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAABMAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: 17cf2709c1d55dcc839898e3073d9db0e37f540201f0cdb5bdae1ae0932327ac
RoT: slot B SHA3-256: 6c2a3bf9ef18a025497af80ad468c73a1fa985c1c4029ed5b6a55de09ec364d8
Switch BRM31230004
part number: 913-0000006
power: A0
revision: 10
MGS slot: Switch 0
found at: 2025-05-07 06:05:29.290309 UTC from http://[fd00:1122:3344:102::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-c sidecar-c 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAiAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot A
RoT: persistent boot preference: slot A
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc
Switch BRM44220013
part number: 913-0000006
power: A0
revision: 4
MGS slot: Switch 1
found at: 2025-05-07 06:05:30.507367 UTC from http://[fd00:1122:3344:101::2]:12225
cabooses:
SLOT BOARD NAME VERSION GIT_COMMIT SIGN
SpSlot0 sidecar-b sidecar-b 1.0.37 a31b6acf6900c04978302b5a1dcc017e9b35e1fc n/a
SpSlot1 sidecar-b sidecar-b 1.0.35 441b09270d8715275d6b3c3b57d84dba539e34d0 n/a
RotSlotA oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RotSlotB oxide-rot-1 oxide-rot-1 1.0.34 71e20463580a8e17b8b1eb8172cc3cdbece479a6 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0 oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
Stage0Next oxide-rot-1 oxide-rot-1 1.3.3 95e79111096d7ec258d68a2c6840b6062efc7f54 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
RoT pages:
SLOT DATA_BASE64
Cmpa oAAAeAAAAAAAAAAAAAAAAP8CAP3/AgD9...
CfpaActive AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaInactive AAAAACoAAAAAAAAAAAAAAAAAAAAAAAAA...
CfpaScratch AAAAACsAAAAAAAAAAAAAAAAAAAAAAAAA...
RoT: active slot: slot B
RoT: persistent boot preference: slot B
RoT: pending persistent boot preference: -
RoT: transient boot preference: -
RoT: slot A SHA3-256: ccd280614a9cce6919bc935e797ec8ff3a060745a2cab5a0fa7a69e66a3f336b
RoT: slot B SHA3-256: c63635d08181e02ecd56eb3a29c42382b36ac327b68da2cce13eda255cde09fc root@[fd00:1122:3344:102::3]:32221/omicron> select * from sw_caboose;
id | board | git_commit | name | version | sign
---------------------------------------+-------------+------------------------------------------+-------------+----------+-------------------------------------------------------------------
07af807c-13fb-4589-b6cb-024b5eb7f1e0 | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
0a901e08-03e9-45ce-93d5-98d2a2bb4cb0 | sidecar-b | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-b | 1.0.37 | NULL
47069193-9067-458c-be4d-05621ab21dd3 | gimlet-c | 8e99ea5e408033d22d92164fa4b532d92a402c63 | gimlet-c | 0.0.0-ci | NULL
495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
4b530cfe-d042-4e5e-a9f3-7e80a8234be9 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
4da4e556-dd5e-47cc-b305-3b344eb22218 | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
87d0f962-96f5-491b-abd2-e89a074ec9d6 | psc-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | psc-c | 1.0.35 | NULL
8b50a19f-5a59-4bae-9d4e-ea91940d0e53 | psc-c | 441b09270d8715275d6b3c3b57d84dba539e34d0 | psc-c | 1.0.33 | NULL
8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc | gimlet-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | gimlet-c | 1.0.36 | NULL
8ee0e220-019d-471b-b6dc-c5760ba41f1d | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
a0a43f53-25ce-4929-8a14-17e486b6f6f8 | sidecar-b | 441b09270d8715275d6b3c3b57d84dba539e34d0 | sidecar-b | 1.0.35 | NULL
cae20bd9-57b3-42e3-8495-d628cb075a77 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
f4a1a770-83f5-42ac-b285-492fe9ecaeaf | sidecar-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-c | 1.0.37 | NULL
(13 rows) root@[fd00:1122:3344:102::3]:32221/omicron> select * from inv_caboose;
inv_collection_id | hw_baseboard_id | time_collected | source | which | sw_caboose_id
---------------------------------------+--------------------------------------+-------------------------------+--------------------------------------+------------+---------------------------------------
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:53.889207+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:54.163024+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 47069193-9067-458c-be4d-05621ab21dd3
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:54.713124+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:55.221091+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:55.528354+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:55.792046+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:03.338765+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_0 | 0a901e08-03e9-45ce-93d5-98d2a2bb4cb0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:03.606701+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_1 | a0a43f53-25ce-4929-8a14-17e486b6f6f8
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:04.143776+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:04.458755+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:04.93583+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:05.50572+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.222501+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | f4a1a770-83f5-42ac-b285-492fe9ecaeaf
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.260386+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | f4a1a770-83f5-42ac-b285-492fe9ecaeaf
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.528019+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.796967+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:02.131973+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:02.411991+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:58.525951+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:58.751231+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.04347+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.307603+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.611489+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.870635+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:50.510415+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:51.012462+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:51.578349+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:52.141555+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:52.66931+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:53.232371+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:56.262727+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:56.535533+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:57.066656+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:57.555718+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:57.848622+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:58.110626+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:14:59.964379+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 87d0f962-96f5-491b-abd2-e89a074ec9d6
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:14:59.967214+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8b50a19f-5a59-4bae-9d4e-ea91940d0e53
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:00.224944+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 4da4e556-dd5e-47cc-b305-3b344eb22218
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:00.493936+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 4da4e556-dd5e-47cc-b305-3b344eb22218
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:00.759946+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4b530cfe-d042-4e5e-a9f3-7e80a8234be9
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:01.021995+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4b530cfe-d042-4e5e-a9f3-7e80a8234be9
76fac765-4e9c-48ef-b672-235b33cb75e8 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:05:11.855133+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:05:12.073754+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 47069193-9067-458c-be4d-05621ab21dd3
76fac765-4e9c-48ef-b672-235b33cb75e8 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:05:12.537227+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:05:13.056248+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:05:13.573286+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:05:13.936193+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:05:19.466922+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_0 | 0a901e08-03e9-45ce-93d5-98d2a2bb4cb0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:05:19.471054+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_1 | a0a43f53-25ce-4929-8a14-17e486b6f6f8
76fac765-4e9c-48ef-b672-235b33cb75e8 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:05:19.734896+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
76fac765-4e9c-48ef-b672-235b33cb75e8 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:05:19.99341+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
76fac765-4e9c-48ef-b672-235b33cb75e8 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:05:20.253042+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
76fac765-4e9c-48ef-b672-235b33cb75e8 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:05:20.549804+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
76fac765-4e9c-48ef-b672-235b33cb75e8 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:05:18.138779+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | f4a1a770-83f5-42ac-b285-492fe9ecaeaf
76fac765-4e9c-48ef-b672-235b33cb75e8 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:05:18.14107+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | f4a1a770-83f5-42ac-b285-492fe9ecaeaf
76fac765-4e9c-48ef-b672-235b33cb75e8 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:05:18.403853+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
76fac765-4e9c-48ef-b672-235b33cb75e8 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:05:18.669808+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
76fac765-4e9c-48ef-b672-235b33cb75e8 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:05:18.975814+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
76fac765-4e9c-48ef-b672-235b33cb75e8 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:05:19.242748+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
76fac765-4e9c-48ef-b672-235b33cb75e8 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:05:15.568822+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:05:15.83427+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:05:16.136425+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:05:16.398359+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:05:16.669361+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:05:16.931274+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:05:10.69767+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:05:10.699837+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:05:10.958555+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:05:11.21601+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:05:11.483555+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:05:11.745601+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:05:14.013017+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:05:14.015751+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
76fac765-4e9c-48ef-b672-235b33cb75e8 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:05:14.27793+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:05:14.541888+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
76fac765-4e9c-48ef-b672-235b33cb75e8 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:05:14.809866+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:05:15.136916+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
76fac765-4e9c-48ef-b672-235b33cb75e8 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:05:17.007946+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 87d0f962-96f5-491b-abd2-e89a074ec9d6
76fac765-4e9c-48ef-b672-235b33cb75e8 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:05:17.010068+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8b50a19f-5a59-4bae-9d4e-ea91940d0e53
76fac765-4e9c-48ef-b672-235b33cb75e8 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:05:17.272671+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 4da4e556-dd5e-47cc-b305-3b344eb22218
76fac765-4e9c-48ef-b672-235b33cb75e8 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:05:17.542608+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 4da4e556-dd5e-47cc-b305-3b344eb22218
76fac765-4e9c-48ef-b672-235b33cb75e8 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:05:17.805636+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4b530cfe-d042-4e5e-a9f3-7e80a8234be9
76fac765-4e9c-48ef-b672-235b33cb75e8 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:05:18.063065+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4b530cfe-d042-4e5e-a9f3-7e80a8234be9 I think that should be ready to go @davepacheco ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Thanks for sticking with this.
I'm still not clear on why the two partial indexes didn't work. I just tested that it does behave the way I'd expect:
$ cockroach demo
...
[email protected]:26257/movr> CREATE TABLE t (c1 int NOT NULL, c2 int);
CREATE TABLE
Time: 6ms total (execution 6ms / network 0ms)
[email protected]:26257/movr> CREATE UNIQUE INDEX IF NOT EXISTS i1 ON t (c1) WHERE c2
-> IS NULL;
CREATE INDEX
Time: 280ms total (execution 279ms / network 0ms)
[email protected]:26257/movr> CREATE UNIQUE INDEX IF NOT EXISTS i2 ON t (c1, c2)
-> WHERE c2 IS NOT NULL;
CREATE INDEX
Time: 283ms total (execution 283ms / network 0ms)
[email protected]:26257/movr> INSERT INTO t (c1, c2) VALUES (4, 3);
INSERT 0 1
Time: 3ms total (execution 3ms / network 0ms)
[email protected]:26257/movr> INSERT INTO t (c1, c2) VALUES (4, 3);
ERROR: duplicate key value violates unique constraint "i2"
SQLSTATE: 23505
DETAIL: Key (c1, c2)=(4, 3) already exists.
CONSTRAINT: i2
[email protected]:26257/movr> INSERT INTO t (c1, c2) VALUES (4, NULL);
INSERT 0 1
Time: 3ms total (execution 2ms / network 0ms)
[email protected]:26257/movr> INSERT INTO t (c1, c2) VALUES (4, NULL);
ERROR: duplicate key value violates unique constraint "i1"
SQLSTATE: 23505
DETAIL: Key (c1)=(4) already exists.
CONSTRAINT: i1
I'm not too worried because the tests pass and your output from the racklette looks right. Still that's weird. DId we get to the bottom of what was going on previously when we were missing cabooses that had no sign value?
I wrote:
I read back above and saw that when we saw this problem with SP cabooses at the beginning, it was apparently because we were using But when you tested with the two partial indexes, you had the correct query (using
|
Sorry if this is muddying the waters, but I'm a little confused. I don't understand why a full index + a partial index would work, but two partial indices (for |
I retrieved the contents from root@[fd00:1122:3344:102::3]:32221/omicron> select * from sw_caboose;
id | board | git_commit | name | version | sign
---------------------------------------+-------------+------------------------------------------+-------------+----------+-------------------------------------------------------------------
24b4b3c8-f5bb-4208-9b92-568296e59f1b | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
49f7b127-5245-43f9-a3c3-af9d71b1dd9d | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
76c67923-4a5b-436b-bb88-2f0afe1cd36a | sidecar-b | 441b09270d8715275d6b3c3b57d84dba539e34d0 | sidecar-b | 1.0.35 | NULL
85e8498d-c9a3-4d44-bf67-e3640bf3e66d | psc-c | 441b09270d8715275d6b3c3b57d84dba539e34d0 | psc-c | 1.0.33 | NULL
9c7441c8-73f6-439b-826b-b92359f9126f | gimlet-c | 8e99ea5e408033d22d92164fa4b532d92a402c63 | gimlet-c | 0.0.0-ci | NULL
9f1ba124-a819-41aa-9ff2-f6c2d85a36ae | psc-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | psc-c | 1.0.35 | NULL
a27e262f-36a6-462d-a913-11fc02b2298f | sidecar-b | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-b | 1.0.37 | NULL
dbdfc3af-d350-458b-b087-c996ff634354 | sidecar-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-c | 1.0.37 | NULL
fb093d08-399b-474e-b080-a07b4ea33259 | gimlet-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | gimlet-c | 1.0.36 | NULL
(9 rows) Comparing with the successful run we can see that none of the root@[fd00:1122:3344:102::3]:32221/omicron> select * from sw_caboose;
id | board | git_commit | name | version | sign
---------------------------------------+-------------+------------------------------------------+-------------+----------+-------------------------------------------------------------------
07af807c-13fb-4589-b6cb-024b5eb7f1e0 | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
0a901e08-03e9-45ce-93d5-98d2a2bb4cb0 | sidecar-b | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-b | 1.0.37 | NULL
47069193-9067-458c-be4d-05621ab21dd3 | gimlet-c | 8e99ea5e408033d22d92164fa4b532d92a402c63 | gimlet-c | 0.0.0-ci | NULL
495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
4b530cfe-d042-4e5e-a9f3-7e80a8234be9 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
4da4e556-dd5e-47cc-b305-3b344eb22218 | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | f592d8f109b81881221eed5af6438abad9b5df8c220b9129c03763e7e10b22c7
87d0f962-96f5-491b-abd2-e89a074ec9d6 | psc-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | psc-c | 1.0.35 | NULL
8b50a19f-5a59-4bae-9d4e-ea91940d0e53 | psc-c | 441b09270d8715275d6b3c3b57d84dba539e34d0 | psc-c | 1.0.33 | NULL
8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc | gimlet-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | gimlet-c | 1.0.36 | NULL
8ee0e220-019d-471b-b6dc-c5760ba41f1d | oxide-rot-1 | 71e20463580a8e17b8b1eb8172cc3cdbece479a6 | oxide-rot-1 | 1.0.34 | 1432cc4cfe5688c51b55546fe37837c753cfbc89e8c3c6aabcf977fdf0c41e27
a0a43f53-25ce-4929-8a14-17e486b6f6f8 | sidecar-b | 441b09270d8715275d6b3c3b57d84dba539e34d0 | sidecar-b | 1.0.35 | NULL
cae20bd9-57b3-42e3-8495-d628cb075a77 | oxide-rot-1 | 95e79111096d7ec258d68a2c6840b6062efc7f54 | oxide-rot-1 | 1.3.3 | 11594bb5548a757e918e6fe056e2ad9e084297c9555417a025d8788eacf55daf
f4a1a770-83f5-42ac-b285-492fe9ecaeaf | sidecar-c | a31b6acf6900c04978302b5a1dcc017e9b35e1fc | sidecar-c | 1.0.37 | NULL
(13 rows) It would appear that somehow they were being marked as duplicates, as if the sign field was being ignored when not null somehow. This is also from the broken run: root@[fd00:1122:3344:102::3]:32221/omicron> select * from inv_caboose;
inv_collection_id | hw_baseboard_id | time_collected | source | which | sw_caboose_id
---------------------------------------+--------------------------------------+-------------------------------+--------------------------------------+------------+---------------------------------------
11e863b0-7415-41c4-96c2-92ff8597beeb | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 03:58:59.443515+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 03:58:59.705597+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 03:59:00.135572+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 03:59:00.911483+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 03:59:04.199979+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 03:59:04.560943+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 03:59:04.823966+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 03:59:05.08608+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 03:59:02.710596+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 03:59:02.982594+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 03:59:03.311614+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 03:59:03.590554+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 03:59:01.577443+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 03:59:01.840528+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
11e863b0-7415-41c4-96c2-92ff8597beeb | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 03:59:02.10841+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
11e863b0-7415-41c4-96c2-92ff8597beeb | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 03:59:02.370873+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 04:09:00.749293+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 04:09:01.484279+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 04:09:02.04325+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 45a5ab24-b150-4f29-8162-5bb62318d9bf | 2025-05-07 04:09:02.563961+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 04:09:08.338268+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 04:09:08.596411+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 04:09:08.874406+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 61cf2437-973e-400c-bd36-b23b928f65d9 | 2025-05-07 04:09:09.141353+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 04:09:06.610385+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 04:09:06.874381+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 04:09:07.206339+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | 9dedc3f1-8d4b-4efe-81ee-fb7002923927 | 2025-05-07 04:09:07.729299+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 04:09:03.120416+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 04:09:03.465342+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 24b4b3c8-f5bb-4208-9b92-568296e59f1b
1c22cf72-74b9-4cef-ba33-26f5122e7269 | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 04:09:04.057269+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d
1c22cf72-74b9-4cef-ba33-26f5122e7269 | e94ed832-2220-433f-b1fd-a63620fcf759 | 2025-05-07 04:09:04.942284+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 49f7b127-5245-43f9-a3c3-af9d71b1dd9d The amount of rows for each root@[fd00:1122:3344:102::3]:32221/omicron> select * from inv_caboose;
inv_collection_id | hw_baseboard_id | time_collected | source | which | sw_caboose_id
---------------------------------------+--------------------------------------+-------------------------------+--------------------------------------+------------+---------------------------------------
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:53.889207+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:54.163024+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 47069193-9067-458c-be4d-05621ab21dd3
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:54.713124+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:55.221091+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:55.528354+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 05e811bd-8c7d-4450-bb01-4097accf90d2 | 2025-05-07 06:14:55.792046+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:03.338765+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_0 | 0a901e08-03e9-45ce-93d5-98d2a2bb4cb0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:03.606701+00 | http://[fd00:1122:3344:101::2]:12225 | sp_slot_1 | a0a43f53-25ce-4929-8a14-17e486b6f6f8
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:04.143776+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_A | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:04.458755+00 | http://[fd00:1122:3344:101::2]:12225 | rot_slot_B | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:04.93583+00 | http://[fd00:1122:3344:101::2]:12225 | stage0 | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 4444a732-3553-4838-bdc0-a4d2f54fafb5 | 2025-05-07 06:15:05.50572+00 | http://[fd00:1122:3344:101::2]:12225 | stage0next | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.222501+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | f4a1a770-83f5-42ac-b285-492fe9ecaeaf
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.260386+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | f4a1a770-83f5-42ac-b285-492fe9ecaeaf
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.528019+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:01.796967+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 8ee0e220-019d-471b-b6dc-c5760ba41f1d
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:02.131973+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 450ae9a7-9602-4ba9-b80f-6b436a3d8c78 | 2025-05-07 06:15:02.411991+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 495a91e8-2b26-4ca3-bfc1-07bb2fcdd2d2
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:58.525951+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:58.751231+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.04347+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.307603+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.611489+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 78c656fc-4889-484c-a035-be39faea476d | 2025-05-07 06:14:59.870635+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:50.510415+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:51.012462+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:51.578349+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:52.141555+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:52.66931+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 80d6b954-98c5-4fe1-a049-70fe064ff059 | 2025-05-07 06:14:53.232371+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:56.262727+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:56.535533+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8d0ff671-7ad8-4d1d-8d2a-8f34fe3deabc
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:57.066656+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:57.555718+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 07af807c-13fb-4589-b6cb-024b5eb7f1e0
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:57.848622+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | 9446e255-c419-483d-8c1a-93f1f289c36c | 2025-05-07 06:14:58.110626+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | cae20bd9-57b3-42e3-8495-d628cb075a77
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:14:59.964379+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_0 | 87d0f962-96f5-491b-abd2-e89a074ec9d6
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:14:59.967214+00 | http://[fd00:1122:3344:102::2]:12225 | sp_slot_1 | 8b50a19f-5a59-4bae-9d4e-ea91940d0e53
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:00.224944+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_A | 4da4e556-dd5e-47cc-b305-3b344eb22218
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:00.493936+00 | http://[fd00:1122:3344:102::2]:12225 | rot_slot_B | 4da4e556-dd5e-47cc-b305-3b344eb22218
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:00.759946+00 | http://[fd00:1122:3344:102::2]:12225 | stage0 | 4b530cfe-d042-4e5e-a9f3-7e80a8234be9
6094ad7e-ccc3-475e-a7ee-8042834a7a75 | dac6fb43-4c8b-418a-a3e1-fa72858b6403 | 2025-05-07 06:15:01.021995+00 | http://[fd00:1122:3344:102::2]:12225 | stage0next | 4b530cfe-d042-4e5e-a9f3-7e80a8234be9
Yep, that was on a racklette. I believe the answer to that question has something to do with the first answer from this stack overflow question.
Perhaps it was necessary to modify queries using two partial queries. Tbh, this was the main reason I was leaning towards using the virtual computed column approach over the partial index one.
I believe this is why the complete + partial indexes together work. |
Thanks for those details!
That would do it, but I still don't see how that's possible. I recreated the schema in
It does still reject a true duplicate:
I believe that's a red herring. That's saying that a All of this is unrelated to the constraint created by the unique index. If there's a unique non-partial index on |
Just so it's recorded here, it turns out I used the wrong commit to test the two partial indexes on a raclette. Both approaches are correct. |
Cabooses for RoT archives and RoT bootloader archives (but not SP archives) contain a SIGN key that's a hash of the public key that the RoT needs its software signed by. Software that's updating the RoT or RoT bootloader needs this information to choose the appropriate Hubris archive.
This commit collects the value during inventory, so Reconfigurator will have it available.
Closes: #7914